The present invention relates generally to asynchronous transfer mode (ATM) networks. More particularly, the present invention relates to signaling techniques employed by ATM networks. Specifically, the present invention relates to signaling techniques that facilitate the efficient handling of concurrent ATM signaling cells over a single connecting link associated with an ATM switch.
ATM is a virtual connection oriented technique that may be employed as a low level operating protocol in conjunction with a higher level operating protocol or physical layer such as the internet protocol (IP), an asymmetric digital subscriber line (ADSL) system, or the like. Unlike the conventional public switched telephone network (PSTN), an end-to-end ATM connection is not uniquely associated with a devoted connection circuit. Rather, an end-to-end ATM transmission is associated with a virtual connection that may share one or more switched communication links with any number of other virtual connections. FIG. 1 depicts a portion of a typical ATM virtual connection that links a first ATM end device, e.g., a first personal computer (PC) 100, to a second ATM end device, e.g., a second PC 102.
A typical ATM network 104 may include a first ATM switch 106 and a second ATM switch 108. In a practical network, any number of additional ATM switches may be present to facilitate the establishment of virtual connections between a plurality of ATM end devices. For example, a practical network may include one or more additional ATM switches operatively coupled between ATM switch 106 and ATM switch 108. In accordance with conventional techniques, a virtual circuit connection (VCC) between first PC 100 and second PC 102 is established during a signaling procedure. Signaling between first PC 100 and first ATM switch 106 (and between second PC 102 and second ATM switch 108) is typically performed in accordance with the UNI 3.1 Specification or the UNI 4.0 Specification (both published by the ATM Forum). The entire content of both of these UNI Specifications is hereby incorporated by reference. Signaling between ATM switches is typically performed in accordance with various NNI (network to network interface) protocols. The UNI 3.1, UNI 4.0, and NNI protocols are known to those skilled in the art and, accordingly, will not be described in detail herein.
According to current conventions, ATM cells contain 53 bytes (one byte includes eight bits) of information; five of the bytes are employed as a header while the remaining bytes contain the payload or data. The header information conveys a connection identifier that includes a virtual path identifier (VPI) and a virtual circuit identifier (VCI). In conventional ATM networks, the VPI at the user to network interface (the interface between an ATM end device and an ATM network) is eight bits long (occupying one byte) and the VCI is 16 bits long (occupying two bytes). During the normal data transmission mode, the VPI and VCI values are utilized to identify where the given ATM cell is to be routed throughout the ATM network. Different VPI and VCI values may be utilized between ATM switches and between ATM switches and ATM end devices. If an ATM cell is a signaling cell, then a predetermined VCI value (and possibly a predetermined VPI value) is used to identify that the cell contains signaling information rather than data. For example, in accordance with the UNI 3.1 Specification, signaling cells include VPI=0 and VCI=5; the UNI 4.0 Specification only requires that signaling cells include VCI=5. These aspects of ATM signaling are described in more detail below.
ATM signaling messages may include one or more ATM cells. Accordingly, a given control task or other function that is to be carried out by way of signaling may require the transmission of a plurality of cells. For example, ATM Adaption Layer 5 (AAL 5) and the service-specific connection-oriented protocol (SSCOP) provides mechanisms for the reliable transmission of signaling messages.
In the exemplary system shown in FIG. 1, first ATM switch 106 is associated with a table 110 of VPI and VCI values (the table is used for the transfer of data rather than for signaling purposes). As shown in table 110, an ATM cell from first PC 100 may be received by first ATM switch 106 on its port 1. This cell may be associated with the values VPI=10 and VCI=100. As described in more detail below, the particular VPI and VCI values assigned to a given connection are established by the respective ATM switch during signaling. These values of VPI and VCI are utilized by first ATM switch 106 to determine where to route the current ATM cell. In other words, for a specific combination of VPI, VCI, and an input port number, table 110 indicates where the cell is to be routed. Thus, first ATM switch 106 may modify the virtual connection values such that VPI=10 and VCI=150 before outputting the cell onto port 2 (by way of a prior signaling procedure, first ATM switch 106 knows that the given cell is to be routed to second ATM switch 108 via the virtual connection shown in FIG. 1).
Assuming that no intervening ATM switches are present between first ATM switch 106 and second ATM switch 108, the cell will eventually be received on input port 4 of second ATM switch 108. As shown in a table 112 associated with second ATM switch 108, if second ATM switch 108 receives a cell with VPI=10 and VCI=150 on input port 4, then it determines that the cell is to be routed to second PC 102 via output port 3. Accordingly, second ATM switch 108 changes the virtual connection values to VPI=20 and VCI=50, and makes the cell available on output port 3.
Eventually, second PC 102 obtains the cell from second ATM switch 108 and, by processing the VPI and VCI values, determines that the cell payload contains information associated with a specific application. A similar technique may be utilized to transmit information from second PC 102 to first PC 100.
In a practical ATM network, any given ATM switch may be coupled to a plurality of ATM end devices and/or to a plurality of other ATM switches. Furthermore, one ATM end device, e.g., first PC 100, may be virtually connected to a number of different ATM entities via a single physical link (between first PC 100 and a single input port associated with first ATM switch 106). Consequently, the ATM switches may be configured as complex fabrics capable of receiving, processing, managing, and routing a large number of ATM cells associated with many different ATM end devices. To this end, tables 110 and 112 in FIG. 1 may include any number of vertical entries that uniquely associate specific input ports, output ports, and virtual connection values (the particular layout of tables 110 and 112 may vary according to the specific application).
As mentioned above, the tables employed by the ATM switches may be constructed xe2x80x9con-demandxe2x80x9d during a signaling procedure associated with the establishment of each virtual connection. (The xe2x80x9cmanualxe2x80x9d construction of tables associated with permanent virtual connections are not described herein). Since ATM connections are established before data cells are transmitted, signaling channels are initialized prior to the transmission of messages. As stated above, the details of ATM signaling are known to those familiar with ATM networks. For example, Onvural and Cherukuri, SIGNALING IN ATM NETWORKS (Artech House, 1997) contains a detailed explanation of ATM signaling procedures and specific signaling message formats. The entire content of this book is incorporated herein by reference.
Briefly, the UNI 3.1 signaling protocol dictates that ATM signaling cells must be identified by the following virtual connection identifier: VPI=0 and VCI=5. Thus, whenever an ATM switch or an ATM end device receives a cell with VPI=0 and VCI=5, it will recognize the cell as a signaling cell and process the payload information accordingly. During signaling, a particular ATM interface connection is uniquely identified by a three-byte call reference number (CRN); the CRN is contained in the payload of the signaling message. For example, the connection from first PC 100 to first ATM switch 106 may be uniquely identified by a first CRN, the connection from first ATM switch 106 to second ATM switch 108 may be uniquely identified by a second CRN, and the connection from second ATM switch 108 to second PC 102 may be uniquely identified by a third CRN. In addition, a number of virtual connections with any one end device via a single link may be uniquely identified by a like number of different CRNs. The different CRNs may be associated with one another at the ATM interfaces via CRN mapping or translation tables.
A signaling message may contain the following information: the called party number (or address), the calling party number (or address), the CRN, a CRN flag bit, tentative VPI and VCI values, and any number of control instructions (e.g., SETUP, ACKNOWLEDGE, CONNECT, RELEASE). Of course, depending upon the origination and purposes of the particular signaling message, the amount and type of information may vary. FIG. 2 shows an exemplary UNI 3.1 signaling message 200 with several of these of information fields. For convenience, message 200 is depicted as a one-cell signaling message. In response to a setup message (which is one type of signaling message), an ATM switch will establish a tentative virtual connection and switch the signaling message in an appropriate manner. An exemplary ATM setup procedure, in the context of the network shown in FIG. 1, is described below.
With continued reference to FIG. 1, upon initialization, first and second PCS 100 and 102 register their ATM addresses with first and second ATM switches 106 and 108, respectively. In this context, the ATM addresses are akin to telephone numbers that uniquely identify the ATM end devices. In current ATM systems, the ATM address is defined by a network prefix supplied by the ATM switch and a user part supplied by the end devices. Thus, a specific combination of an ATM network prefix and an ATM user part identifies each ATM end device. In accordance with the UNI Specifications, the ATM end devices and their associated ATM switches employ the ILMI (interim local management interface) protocol to exchange ATM network prefixes and ATM user parts. After registration, ATM switch 106 knows the address of first PC 100 and ATM switch 106 knows that first PC 100 is connected via port 1. Similarly, after registration, ATM switch 108 knows the address of second PC 102 and that second PC 102 is connected via port 3. By way of the NNI protocol, ATM switches 106 and 108 can determine how to communicate with first and second PCS 100 and 102. Thus, after registration, ATM switch 106 can route ATM cells intended for second PC 102 to second ATM switch 108 and ATM switch 108 can route ATM cells intended for first PC 100 to first ATM switch 106.
After registration, if a user at first PC 100 wants to initiate a communication session with second PC 102, then first PC 100 transmits a setup message directed to ATM switch 106 (message 200 is exemplary). Each cell in the setup message includes the virtual connection identifier VPI=0 and VCI=5, which indicates that the cell is a signaling cell. As discussed above, each signaling message also includes a CRN that is unique to the interface connection between first PC 100 and first ATM switch 106. This CRN is assigned by first PC 100 to identify the current call at the local user-network interface. To establish a virtual connection with second PC 102, the setup message includes the ATM address of second PC 102 (i.e., the called party address). The called party address enables first ATM switch 106 to properly route the setup message after interrogating its table of ATM addresses.
In response to the setup request, first ATM switch 106 also selects an available combination of VPI and VCI values to uniquely identify the connection being established with first PC 100 (these values are utilized if the call is eventually established). In other words, first ATM switch 106 assigns a combination of VPI and VCI values that are not already in use for port 1. First ATM switch 106 may enter these tentative VPI and VCI values into its table of virtual connection identifiers. Referring again to FIG. 1, these values for the illustrated example are VPI=10 and VCI=100. If the requested connection is accepted, then first ATM switch 106 may send these VPI and VCI values to first PC 100 in the first connect message in response to the setup message.
Similarly, first ATM switch 106 selects a tentative combination of available VPI and VCI values to identify the current call interface between first and second ATM switches 106 and 108. These values for the example shown in FIG. 1 are VPI=10 and VCI=150. The tentative values may be input into the table maintained at first ATM switch and included in the outgoing setup message that is directed to second ATM switch 108. The setup message is appropriately switched such that it is received at port 4 of second ATM switch 108. Second ATM switch 108 processes the setup message in a similar manner as discussed above, enters the xe2x80x9cincomingxe2x80x9d VPI and VCI values in an appropriate table, selects an available combination of VPI and VCI values to identify the call connection to second PC 102, enters the xe2x80x9coutgoingxe2x80x9d values in the table, and switches the setup message such that it is directed to second PC 102 via output port 3. In the illustrated embodiment, the xe2x80x9coutgoingxe2x80x9d values are VPI=20 and VCI=50 for port 3 of second ATM switch 108.
Upon receipt of the setup message, second PC 102 determines whether or not to accept the connection request. Depending upon the specific application, the ATM address of first PC 100 may be conveyed to second PC 102 to enable second PC 2 to screen its ATM connections. Alternatively, second PC 102 may simply accept new virtual connections if it is capable of handling the additional traffic. If second PC 102 rejects the setup request, or if first PC 100 does not receive a confirmation within a certain time period, then the temporary virtual connection identifier table entry at the various ATM switches (and at first PC 100) is cleared. Control instructions contained in new signaling messages may be used to carry out the clearing function. However, if second PC 102 accepts the setup request, then it may cause an acknowledgment or connect message to be routed to first PC 100 via the appropriate ATM switches. In addition, second PC 102 may validate the VPI and VCI values assigned for the current interface connection between itself and second ATM switch 108. As the connect message is routed through ATM network 104, the various tentative VPI and VCI values are validated to enable the subsequent transmission of information over the virtual connection without reference to the CRNs.
FIG. 3 depicts a typical ATM over ADSL architecture 300 configured in accordance with prior art techniques. As discussed above, ADSL is a physical layer transmission scheme that is deployed at the telephone network level. Thus, although the ADSL physical layer terminates at the ADSL devices, the use of ATM provides an end-to-end broadband transmission architecture. Typically, a residence ADSL device 302 communicates with a central site ADSL device 304 over a local loop 306. The residence ADSL device 302 may be associated with, e.g., a PC 308, while the central site ADSL device 304 may be associated with, e.g., a central office of the public switched telephone network. In accordance with conventional ADSL protocols, local loop 306 may transmit downstream data from ADSL device 304 to ADSL device 302 at 1.5 Mbps or 8.0 Mbps (depending upon the specific operating protocol). The output of central site ADSL device 304 is eventually routed to an ATM switch 310. Although not shown in FIG. 3, a number of similar ADSL devices and local ATM connections may be associated with ATM switch 310.
As shown in FIG. 3, ATM cells are often transmitted to and from ATM switch 310 over high speed links, e.g., OC3 optical fiber connections. Each OC3 link is capable of transmitting data at rates of up to 155 Mbps. Unfortunately, the configuration shown in FIG. 3 does not take full advantage of the high speed capability of the OC3 links because the data transmission speed is limited by the associated local loop 306. Accordingly, an ATM multiplexer may be utilized to enable a single input port on an ATM switch to carry ATM cells associated with a plurality of ATM end devices. However, such an arrangement cannot support UNI 3.1 signaling because the ATM switch would have no way of distinguishing cells that are to be routed to the plurality of ATM end devices. Consequently, a UNI 3.1 compliant architecture that includes an ATM multiplexer must terminate the UNI 3.1 signaling at the multiplexer and initialize additional signaling capabilities. Such additional signaling capabilities complicate the design of the ATM system and increase the associated cost and maintenance.
The xe2x80x9cvirtual UNIxe2x80x9d option in the UNI 4.0 Specification addresses this limitation by allowing signaling cells to be identified by VPI=X and VCI=5, where X can be any one of 256 possible values. Although this solution may appear appropriate, ATM switches that connect to the ATM multiplexer must be compatible with UNI 4.0 and must implement the virtual UNI feature. Furthermore, in the virtual UNI solution, the maximum number of ATM end devices that may be connected to a given ATM switch is 256 (due to the eight bit length of all VPI values). If normal ATM traffic flow is contemplated, the practical capacity of a single OC3 (or OC12) link can handle the multiplexing of more than 256 individual users; the virtual UNI solution would still not take full advantage of the high speed capability of the OC3/OC12 link. Furthermore, the virtual UNI solution requires many signaling connections for each physical link, which adds to the complexity of the ATM switch. For this reason, many ATM switch vendors may be reluctant to implement the virtual UNI option. Thus, due to the practical implications of this solution, it may not be efficiently implemented in ATM over ADSL systems. Some of the above (and other) limitations of prior art systems are mentioned in Kwok, ATM: THE NEW PARADIGM FOR INTERNET, INTRANET AND RESIDENTIAL BROADBAND SERVICES AND APPLICATIONS, chapter 13, the content of which is incorporated herein by reference.
In accordance with an exemplary embodiment of the present invention, an improved ATM signaling procedure is provided that employs an ATM multiplexer (MUX). The ATM MUX may be configured for compatibility with the UNI 3.1 Specification and/or the UNI 4.0 Specification for ATM signaling. The improved signaling procedure is capable of processing more than 256 ATM end devices via a single ATM switch, and the ATM switch need not be compliant with the UNI 4.0 Specification. The ATM signaling procedure may be implemented in a manner that effectively exploits the high data rate potential of the links associated with the ATM switches. Furthermore, the preferred ATM signaling procedure does not require modifications to the existing UNI 3.1 or UNI 4.0 Specifications.